Capable 21C Startup

Abstract

This knowledgebase article describes the steps that Capable 21C performs when it is started.

Underlying challenge

Here are the steps that Capable 21C performs when it is started:

  1. Capable 21C checks to see if it is already running.
  2. It attaches to the Help file, which should be at C:\Program Files\Capable\Capable.hlp. No error is generated, if the help file is not present.
  3. It checks to see if the application name is CapBack, which suggests that someone has undone a Live Update recently.
  4. It renames the C:\Program Files\Capable\EZUPDATE.EXE file to EZUPDATE.EX_. No error is generated if this step fails.
  5. It checks to see if regional settings are Y2K compliant (eg 4 digit years).
  6. It checks to see if regional settings allow for read and write of the short date format. Interestingly, Windows allows you to have a short date format that it cannot read (eg Windows can print and display dates as 20$6$2007, but it cannot recognise dates keyed in this format).
  7. It checks to see if regional settings allow for AM and PM times to be distinguished. If you do not have an AM/PM symbol, or are not running a 24 hour clock, an error appears.
  8. It checks to see if regional settings allow for read and write of the short time format. Same as 6.
  9. It displays the splash screen.
  10. It checks to see if the -P command line option is being used to override the location where the .INI file is being read from. This has been introduced to cope with a Vista problem, but should not generate any errors.
  11. It reads the .INI file.
  12. It opens the database. This involves...
  13. It checks for the presence of a SHUTDOWN.TXT in the folder identified from the INI file. If the SHUTDOWN.TXT file is presence, Capable 21C won't fire up, and produces a graceful error message before shutting down. I've noticed that if the database folder named in the INI file is inaccessible (eg gobbledegook such as DATABASE=\\dasdsa\dsadsa\, it generates an error).
  14. It checks to see if MDAC2.8 is installed (which allows the database to be accessed via ADO).
  15. It opens the database using ADO or DAO as appropriate.
  16. It checks the integrity of the database.  This involves checking for the presence of the required tables, columns and views.  This can be seen by the information displayed at the bottom of the Splash Screen as each table is checked.
  17. It creates the Licence File to ensure that you're not exceeding your CAL limit. The file it attempts to create is based in the INI file and the name of the PC (eg \\SERVER\SHARE\ 'comes from the INI file' + MYPCNAME 'comes from Windows' + .LF)
  18. It loads up some generic system settings such as the CD Key, Available CAL count, whether additional features are enabled, etc. If this fails, appropriate error messages are displayed (mostly about licencing).
  19. It opens a receipt from the database (randomly) and checks whether the date is valid and readable.
  20. It checks to see if the database file matches the licence on the application file.  This is intended to prevent software piracy.
  21. It checks to see if there is a newer version of Capable 21C in the network, and (if so) offers the opportunity to update from it.
  22. It checks to see if this is the newest version of Capable 21C in the network (suggesting a possible recent Live Update), and broadcasts it if so (by making a note in the database and saving the program file as Capable.TMP in the same folder as the database).  If this has happened, it then attempts to open the ReadMe file.
  23. It tests for (and repairs) some common setup problems.  For example, if there are no practitioners, no appointment types, no services or products, the system detects this and automatically adjusts the configuration to allow an operator to enter them.
  24. It updates the appearance of some menu items based on system configuration settings (eg whether clients are called Clients, Patients or Persons).
  25. It activates Fingerprint recognition software if appropriate.
  26. It checks to see when the last Live Update was performed, and prompts the operator if this was more than 3 months ago.
  27. It checks to see if the System ID nominated in the INI file is present in the database and adds/creates it as necessary.  This is a legacy component and no longer relevant to the correct operation of Capable 21C.
  28. It opens the Postcodes database.
  29. It checks to see if any patients/clients have been registered and disables some menu items if there are no patients/clients present.
  30. It sets up further menu options based on configuration settings (eg Appointment Types and Documents).
  31. It loads the button bar.
  32. It loads the normal windows (eg the Appointment book, To Do List, Educational Classes and the Patients Checked In window).
  33. It engages the security system if it has been enabled, and locks up menus accordingly.
  34. It hides the splash screen.
  35. It runs any other command line arguments (eg End Of Week will force an end of week report run to be performed and then Capable 21C will close).
  36. It checks to see if any spurious family invoices have been generated (for printing family invoices), and deletes them if they exist.
  37. It checks to see if all Setup Wizards have been completed properly, and starts the Setup Wizard if they have not.
  38. It releases control to the operator.

Resolution

No further detail

Detailed Information

No further detail

This knowledge resource is designed for use on a Windows (tm) XP system operating at a screen resolution of 1024x768 or better. Windows Media Player must be installed for this training resource to operate correctly.

Copyright 2008 Capable Software Pty Ltd

Training Sessions

Fundamentals Training Modules

Intermediate Training Modules

Advanced Training Modules

Other Resources

Return to Capable Software home

Contact Technical Support